package cn.net.api;

import java.util.Arrays;

public class TestString2 {
    public static void main(String[] args) {
        //1.创建字符串方式一
        String s = "abc";//
        //2.创建字符串方式二
        char[] value = {'a','b','c','b'};//下标0,1,2,3
        String s2 = new String(value);

        System.out.println("--------------------------");

        //3.测试常用方法
        System.out.println(s.charAt(0));//a：下标0对应的字符
        System.out.println(s.length());//长度3

        String str = s.concat("def");//concat()字符串拼接
        System.out.println(str);//abcdef
        System.out.println(s);//abc字符串没有被之前所影响
        //判断是否按指定元素开头和结尾
        System.out.println(s.startsWith("z"));//false
        System.out.println(s.endsWith("c"));//true
        //比较
        System.out.println(s==s2);//false
        System.out.println(s2.equals(s));//false;没重写String
        //把字符串转化成byte[],所以打印[数组地址值]
        System.out.println(s.getBytes());//[B@1b6d3586

        System.out.println(s.indexOf("b"));//1：获取b字符在串中[第一次出现的下标值]
        System.out.println(s2.lastIndexOf("b"));//3,获取b字符在串中【最后一次出现的位置】

        System.out.println(s2.length());//长度4
        System.out.println("-------------------------------");

        /*本方法的作用是根据指定元素分割字符串,返回值类型是String[]*/
        String s3 = "a b c d e";//空字符串地方占一个字符，下标也算
        System.out.println(s3.split(" "));//参数均为字符串类型//[Ljava.lang.String;@4554617c
        System.out.println(Arrays.toString(s3.split(" ")));////使用[数组工具类]空格分割数组具体元素：[a, b, c, d, e]


        System.out.println(s3.substring(3));//下标数截取，左闭右开 //int beginIndex = 3  //打印为： c d e
        System.out.println(s3.substring(1,5));//下标数截取，左闭右开//beginIndex=1;endIndex=5//打印为： b  c

        System.out.println(s3.toUpperCase());//全大写打印
        System.out.println(s3.toLowerCase());//全小写

        s3="  abc    ";
        System.out.println(s3.trim());//trim()去除两端空格
        /*int类型转换称String类型*/
        System.out.println(String.valueOf(10));//10;//String.valueOf(10)
        //两种数据类型的拼接
        System.out.println("20"+21);//2021
        System.out.println(String.valueOf(20)+20);//2020
        System.out.println(10+10);//20







    }
}
